import {onMounted, reactive, } from 'vue';
import {cmsmvAll, insertSfcte, querySfCta, querySfCtaIPag,} from '@/api/url/erp/baseMessage';
import notification from "@arco-design/web-vue/es/notification";
import router from "@/router";

export default function importConfig() {
  const base = reactive<any>({
    form: {
      TE006:null,
      TE007:null,
      TE008:null,
      TE009:null,
      TE011:null,
      TE017:null,
      TE018:null,
      TE019:null,
      TE015:null,
      TE020:null,
      TE005:null,
      TE022:null,
      UDF04:null,
      sonList:[],
      TE004:null,
      UDF07:null
    },
    name:'',
    ta015:'',
    staffList:[],
    printData : '',
    epDraggableItem:null,
    currentIndex:-1,
  });

  //获取表单数据
  const getFormData=()=>{
    let res=JSON.parse(localStorage.getItem('workshopDispatchReportingData'));
    console.log(res);
    //工单单别
    base.form.TE006=res.ta001;
    //工单单号
    base.form.TE007=res.ta002;
    //工序
    base.form.TE008=res.ta003;
    //工艺
    base.form.TE009=res.ta004;
    //工艺名称
    base.name=res.name;
    //数量
    base.form.TE011=res.ta015;
    //品号
    base.form.TE017=res.ta006;
    //品名
    base.form.TE018=res.ta034;
    //规格
    base.form.TE019=res.ta035;
    //备注
    base.form.TE015=res.TA029;
    //单位
    base.form.TE020=res.ta007;

  //  预计产量
    base.ta015=res.ta015;

    //订单号
    base.form.UDF04=res.ta027;

    base.form.sonList=res.sonList;

    // res.sonList.forEach(item=>{
    //   let obj={
    //     UDF09:item.zgx,
    //     UDF10:item.zgy,
    //     zgymc:item.zgymc,
    //     TE004:'',
    //     UDF07:'',
    //   };
    //   base.form.sonList.push(obj);
    // });
  };

  //派工
  const dispatch=()=>{
    let relt=JSON.parse(JSON.stringify(base.form));
    let newArr=[relt];

    // let objt=Object.keys(relt)
    //     .filter(key => key !== 'sonList')
    //     .reduce((result, current) => {
    //       result[current] = relt[current];
    //       return result;
    //     }, {});


    // let newArr=[];
    // relt.sonList.forEach((item,index)=>{
    //     let obj={
    //       ...objt,
    //       TE004:item.TE004,
    //       UDF07:item.UDF07,
    //       UDF10:item.UDF10,
    //       UDF09:item.UDF09,
    //     };
    //     newArr.push(obj);
    // });

    console.log(newArr);

    insertSfcte(newArr).then(res=>{
      notification.info(res.message);
      if(res.code==200){
        router.go(-1);
      }
    });

  };

  //获取所有员工
  const getEmployee=()=>{
    // let obj={
    //   MV001:base.form.sonList[base.currentIndex].TE004,
    // };
    cmsmvAll({}).then(res=>{
      if(res.code==200){
        let arr=[];
        res.data.forEach(item=>{
          let obj={
            label:item.MV002.trim()+'('+item.MV001.trim()+')',
            value: item.MV001.trim()+'-'+item.MV002.trim(),
          };
          arr.push(obj);
        });
        base.staffList=arr;
      }
    });
  };

  //获取当前员工索引
  const getIndex=(index)=>{
    base.currentIndex=index;
  };

  //切换员工
  const changeStaff=(value)=>{
    base.form.sonList[base.currentIndex].code=value.split('(')[1].split(')')[0];
    base.form.sonList[base.currentIndex].name=value.split('(')[0];
  };

  //打印
  const stamp=()=> {
    this.$pluginName.init();
    var hiprintTemplate = new this.$pluginName.PrintTemplate();
    var panel = hiprintTemplate.addPrintPanel({ width: 100, height: 130, paperFooter: 340, paperHeader: 10 });
    panel.addPrintTable({ options: { width: 252, height: 35, top: 130, left: 20, content: $('#testTable').html() } });
    //打印
    hiprintTemplate.print({});

  };


  // hiprint.init({
  //   providers: [defaultElementTypeProvider()],
  // });

  onMounted(()=>{
    getFormData();
    getEmployee();
    // hiprint.PrintElementTypeManager.buildByHtml(base.epDraggableItem);
  });

  // onUnmounted(()=>{
  //   localStorage.removeItem('workshopDispatchReportingData');
  // });

  return {
    base,
    dispatch,
    changeStaff,
    stamp,
    getIndex,
  };
}
